﻿/*************************************************************************************
 * 文 件 名:   Test_UseSimpleTask
 * 
 * 描    述:   简单版任务系统的使用Demo脚本
 * 
 * 版    本：  V1.1
 * 创 建 者：  京产肠饭
 * 创建时间：  2024/2/14
 * 链   接：  https://gitee.com/JingChanChangFan/hk_-unity-tools
*************************************************************************************/

using UnityEngine;
using QFramework;
using System.Collections.Generic;
using HKTools.SimpleTask;

public class Test_UseSimpleTask : MonoBehaviour, IController
{
    public IArchitecture GetArchitecture()
    {
        return HKSimpleTask_Architecture.Interface;
    }

    List<TaskType> taskList;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.F1))
        {
            taskList = new List<TaskType>
            {
                TaskType.步骤01_放置干扰天线支架,
                TaskType.步骤02_安装干扰天线,
                TaskType.步骤03_连接干扰天线与干扰源,
                TaskType.步骤04_放置抗干扰天线支架,
                TaskType.步骤05_安装抗干扰天线,
            };

            // 初始化 任务流 STL_01
            this.SendCommand(new CMD_InitTaskQueue(TaskQueueType.STL_01, taskList));
        }

        if (Input.GetKeyDown(KeyCode.Escape))
        {
            // 中断 任务流 STL_01
            this.SendCommand(new CMD_BreakUpTaskQueue(TaskQueueType.STL_01));
        }

        if (Input.GetKeyDown(KeyCode.Space))
        {
            // 按顺序完成 STL_01 当前任务
            this.SendCommand(new CMD_CompleteCurrentTask(TaskQueueType.STL_01));
        }

        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            // 完成步骤1
            this.SendCommand(new CMD_CompleteAppointTask(TaskQueueType.STL_01, TaskType.步骤01_放置干扰天线支架));
        }

        if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            // 完成步骤2
            this.SendCommand(new CMD_CompleteAppointTask(TaskQueueType.STL_01, TaskType.步骤02_安装干扰天线));
        }

        if (Input.GetKeyDown(KeyCode.Alpha3))
        {
            // 完成步骤3
            this.SendCommand(new CMD_CompleteAppointTask(TaskQueueType.STL_01, TaskType.步骤03_连接干扰天线与干扰源));
        }

        if (Input.GetKeyDown(KeyCode.Alpha4))
        {
            // 完成步骤4
            this.SendCommand(new CMD_CompleteAppointTask(TaskQueueType.STL_01, TaskType.步骤04_放置抗干扰天线支架));
        }

        if (Input.GetKeyDown(KeyCode.Alpha5))
        {
            // 完成步骤5
            this.SendCommand(new CMD_CompleteAppointTask(TaskQueueType.STL_01, TaskType.步骤05_安装抗干扰天线));
        }
    }
}
